// policies/isLoggedIn.js
module.exports = function (req, res, proceed) {

  let enterUrl = req.originalUrl.replace(/code=[^&]*/,'c=1');//后面不设置为空串是为了兼容处理?code=xxx和&code=xxx的情况
  //session中用户信息，则说明已经登录，继续进入相关页面或者是要进入登录页，则不用在判断是否登录了
  if (req.session.user||enterUrl.indexOf("/login")>=0) {
      return proceed();
  }else{
    //根据微信信息自动登录
    ServerApiService.loginWithOpenId(req).then(result=>{
      if(result.code==200){
        //设置登录用户到session中
        SessionUtil.setUserIntoSession(req,result.data);
        return proceed();
      }else{//需要重新登录
        return res.redirect("/login");
      }
    }).catch(error=>{
      console.log(error);
      //跳转到登录页面
      return res.redirect("/login");
    })
  }
};
